#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "CASE.h"
#include <malloc.h>

TABCASE caCreer_Case()
{

    TABCASE ta=(CASE*) malloc(41*sizeof(CASE));

    ta[1].num = 1;
    strcpy(ta[1].nom , "Inscription Pédagogique");
    strcpy(ta[1].couleur , "Inscription Pédagogique");
    ta[1].prix_achat = 0;
    ta[1].prix_a_payer = 0;
    strcpy( ta[1].proprietaire, "");
    ta[1].niveau = 0;
    ta[1].x = 210;
    ta[1].y = 90;

    ta[2].num = 2;
    strcpy(ta[2].nom , "SUAPS");
    strcpy(ta[2].couleur , "violet");
    ta[2].prix_achat = 1;
    ta[2].prix_a_payer = 1;
    strcpy( ta[2].proprietaire, "");
    ta[2].niveau = 0;
    ta[2].x = 325;
    ta[2].y = 90;

    ta[3].num = 3;
    strcpy(ta[3].nom ,  "Referent Pedagogique");
    strcpy(ta[3].couleur , "Referent Pedagogique");
    ta[3].prix_achat = 0;
    ta[3].prix_a_payer = 0;
    strcpy( ta[3].proprietaire, "");
    ta[3].niveau = 0;
    ta[3].x = 405;
    ta[3].y = 90;

    ta[4].num = 4;
    strcpy(ta[4].nom ,  "MENDEL");
    strcpy(ta[4].couleur ,  "violet");
    ta[4].prix_achat = 2;
    ta[4].prix_a_payer = 1;
    strcpy( ta[4].proprietaire, "");
    ta[4].niveau = 0;
    ta[4].x = 490;
    ta[4].y = 90;

    ta[5].num = 5;
    strcpy(ta[5].nom ,  "ALGEBRE");
    strcpy(ta[5].couleur ,  "TAXE");
    ta[5].prix_achat = 0;
    ta[5].prix_a_payer = 0;
    strcpy( ta[5].proprietaire, "");
    ta[5].niveau = 0;
    ta[5].x = 570;
    ta[5].y = 90;

    ta[6].num = 6;
    strcpy(ta[6].nom ,  "Science de la vie/Sport");
    strcpy(ta[6].couleur ,  "BU");
    ta[6].prix_achat = 5;
    ta[6].prix_a_payer = 5;
    strcpy( ta[6].proprietaire, "");
    ta[6].niveau = 0;
    ta[6].x = 650;
    ta[6].y = 90;

    ta[7].num = 7;
    strcpy(ta[7].nom ,  "Quai 43");
    strcpy(ta[7].couleur ,  "bleu ciel");
    ta[7].prix_achat = 3;
    ta[7].prix_a_payer = 2;
    strcpy( ta[7].proprietaire, "");
    ta[7].niveau = 0;
    ta[7].x = 735;
    ta[7].y = 90;

    ta[8].num = 8;
    strcpy(ta[8].nom ,  "MAIL");
    strcpy(ta[8].couleur ,  "MAIL");
    ta[8].prix_achat = 0;
    ta[8].prix_a_payer = 0;
    strcpy( ta[8].proprietaire, "");
    ta[8].niveau = 0;
    ta[8].x = 810;
    ta[8].y = 90;

    ta[9].num = 9;
    strcpy(ta[9].nom ,  "Double Mixte");
    strcpy(ta[9].couleur ,  "bleu ciel");
    ta[9].prix_achat = 3;
    ta[9].prix_a_payer = 2;
    strcpy( ta[9].proprietaire, "");
    ta[9].niveau = 0;
    ta[9].x = 895;
    ta[9].y = 90;

    ta[10].num = 10;
    strcpy(ta[10].nom ,  "Maison de l'université");
    strcpy(ta[10].couleur ,  "bleu ciel");
    ta[10].prix_achat = 4;
    ta[10].prix_a_payer = 2;
    strcpy( ta[10].proprietaire, "");
    ta[10].niveau = 0;
    ta[10].x = 975;
    ta[10].y = 90;

    ta[11].num = 11;
    strcpy(ta[11].nom ,  "Surveillance Partiel");
    strcpy(ta[11].couleur ,  "Surveillance Partiel");
    ta[11].prix_achat = 0;
    ta[11].prix_a_payer = 0;
    strcpy( ta[11].proprietaire, "");
    ta[11].niveau = 0;
    ta[11].x = 1135;
    ta[11].y = 100;

    ta[12].num = 12;
    strcpy(ta[12].nom ,  "Gouy");
    strcpy(ta[12].couleur ,  "fushia");
    ta[12].prix_achat = 5;
    ta[12].prix_a_payer = 3;
    strcpy( ta[12].proprietaire, "");
    ta[12].niveau = 0;
    ta[12].x = 1100;
    ta[12].y = 160;

    ta[13].num = 13;
    strcpy(ta[13].nom ,  "Restaurant Universitaire");
    strcpy(ta[13].couleur ,  "resto");
    ta[13].prix_achat = 7;
    ta[13].prix_a_payer = 4;
    strcpy( ta[13].proprietaire, "");
    ta[13].niveau = 0;
    ta[13].x = 1100;
    ta[13].y = 210;

    ta[14].num = 14;
    strcpy(ta[14].nom ,  "Marie-Curie");
    strcpy(ta[14].couleur ,  "fushia");
    ta[14].prix_achat = 5;
    ta[14].prix_a_payer = 3;
    strcpy( ta[14].proprietaire, "");
    ta[14].niveau = 0;
    ta[14].x = 1100;
    ta[14].y = 250;

    ta[15].num = 15;
    strcpy(ta[15].nom ,  "Lavoisier");
    strcpy(ta[15].couleur ,  "fushia");
    ta[15].prix_achat = 6;
    ta[15].prix_a_payer = 3;
    strcpy( ta[15].proprietaire, "");
    ta[15].niveau = 0;
    ta[15].x = 1100;
    ta[15].y = 300;

    ta[16].num = 16;
    strcpy(ta[16].nom ,  "Informatique/Maths/Physique");
    strcpy(ta[16].couleur ,  "BU");
    ta[16].prix_achat = 5;
    ta[16].prix_a_payer = 5;
    strcpy( ta[16].proprietaire, "");
    ta[16].niveau = 0;
    ta[16].x = 1100;
    ta[16].y = 350;

    ta[17].num = 17;
    strcpy(ta[17].nom ,  "Forel");
    strcpy(ta[17].couleur ,  "orange");
    ta[17].prix_achat = 7;
    ta[17].prix_a_payer = 4;
    strcpy( ta[17].proprietaire, "");
    ta[17].niveau = 0;
    ta[17].x = 1100;
    ta[17].y = 390;

    ta[18].num = 18;
    strcpy(ta[18].nom ,  "Referent Pedagogique");
    strcpy(ta[18].couleur ,  "Referent Pedagogique");
    ta[18].prix_achat = 0;
    ta[18].prix_a_payer = 0;
    strcpy( ta[18].proprietaire, "");
    ta[18].niveau = 0;
    ta[18].x = 1100;
    ta[18].y = 435;

    ta[19].num = 19;
    strcpy(ta[19].nom ,  "Dubuis");
    strcpy(ta[19].couleur ,  "orange");
    ta[19].prix_achat = 7;
    ta[19].prix_a_payer = 4;
    strcpy( ta[19].proprietaire, "");
    ta[19].niveau = 0;
    ta[19].x = 1100;
    ta[19].y = 480;

    ta[20].num = 20;
    strcpy(ta[20].nom ,  "Omega");
    strcpy(ta[20].couleur ,  "orange");
    ta[20].prix_achat = 8;
    ta[20].prix_a_payer = 4;
    strcpy( ta[19].proprietaire, "");
    ta[20].niveau = 0;
    ta[20].x = 1100;
    ta[20].y = 530;

    ta[21].num = 21;
    strcpy(ta[21].nom ,  "Cyber café");
    strcpy(ta[21].couleur ,  "Cyber café");
    ta[21].prix_achat = 0;
    ta[21].prix_a_payer = 0;
    strcpy( ta[21].proprietaire, "");
    ta[21].niveau = 0;
    ta[21].x = 1090;
    ta[21].y = 590;

    ta[22].num = 22;
    strcpy(ta[22].nom ,  "Braconnier");
    strcpy(ta[22].couleur ,  "rouge");
    ta[22].prix_achat = 9;
    ta[22].prix_a_payer = 5;
    strcpy( ta[22].proprietaire, "");
    ta[22].niveau = 0;
    ta[22].x = 975;
    ta[22].y = 600;

    ta[23].num = 23;
    strcpy(ta[23].nom ,  "MAIL");
    strcpy(ta[23].couleur ,  "MAIL");
    ta[23].prix_achat = 0;
    ta[23].prix_a_payer = 0;
    strcpy( ta[23].proprietaire, "");
    ta[23].niveau = 0;
    ta[23].x = 895;
    ta[23].y = 600;

    ta[24].num = 24;
    strcpy(ta[24].nom ,  "Jordan");
    strcpy(ta[24].couleur ,  "rouge");
    ta[24].prix_achat = 9;
    ta[24].prix_a_payer = 5;
    strcpy( ta[24].proprietaire, "");
    ta[24].niveau = 0;
    ta[24].x = 810;
    ta[24].y = 600;

    ta[25].num = 25;
    strcpy(ta[25].nom ,  "Ampere");
    strcpy(ta[25].couleur ,  "rouge");
    ta[25].prix_achat = 10;
    ta[25].prix_a_payer = 5;
    strcpy( ta[25].proprietaire, "");
    ta[25].niveau = 0;
    ta[25].x = 735;
    ta[25].y = 600;

    ta[26].num = 26;
    strcpy(ta[26].nom ,  "Science de la Terre");
    strcpy(ta[26].couleur ,  "BU");
    ta[26].prix_achat = 5;
    ta[26].prix_a_payer = 5;
    strcpy( ta[26].proprietaire, "");
    ta[26].niveau = 0;
    ta[26].x = 650;
    ta[26].y = 600;

    ta[27].num = 27;
    strcpy(ta[27].nom ,  "Deambulatoire");
    strcpy(ta[27].couleur ,  "jaune");
    ta[27].prix_achat = 10;
    ta[27].prix_a_payer = 5;
    strcpy( ta[21].proprietaire, "");
    ta[27].niveau = 0;
    ta[27].x = 570;
    ta[27].y = 600;

    ta[28].num = 28;
    strcpy(ta[28].nom ,  "Darwin");
    strcpy(ta[28].couleur ,  "jaune");
    ta[28].prix_achat = 10;
    ta[28].prix_a_payer = 5;
    strcpy( ta[28].proprietaire, "");
    ta[28].niveau = 0;
    ta[28].x = 490;
    ta[28].y = 600;

    ta[29].num = 29;
    strcpy(ta[29].nom ,  "Astree");
    strcpy(ta[29].couleur ,  "resto");
    ta[29].prix_achat = 9;
    ta[29].prix_a_payer = 5;
    strcpy( ta[29].proprietaire, "");
    ta[29].niveau = 0;
    ta[29].x = 405;
    ta[29].y = 600;

    ta[30].num = 30;
    strcpy(ta[30].nom ,  "Themis");
    strcpy(ta[30].couleur ,  "jaune");
    ta[30].prix_achat = 11;
    ta[30].prix_a_payer = 6;
    strcpy( ta[30].proprietaire, "");
    ta[30].niveau = 0;
    ta[30].x = 325;
    ta[30].y = 600;

    ta[31].num = 31;
    strcpy(ta[31].nom ,  "Convotion Partiel");
    strcpy(ta[31].couleur ,  "Convotion Partiel");
    ta[31].prix_achat = 0;
    ta[31].prix_a_payer = 0;
    strcpy( ta[31].proprietaire, "");
    ta[31].niveau = 0;
    ta[31].x = 210;
    ta[31].y = 590;

    ta[32].num = 32;
    strcpy(ta[32].nom ,  "Prefa");
    strcpy(ta[32].couleur ,  "vert");
    ta[32].prix_achat = 12;
    ta[32].prix_a_payer = 6;
    strcpy( ta[32].proprietaire, "");
    ta[32].niveau = 0;
    ta[32].x = 200;
    ta[32].y = 530;

    ta[33].num = 33;
    strcpy(ta[33].nom ,  "Lippman");
    strcpy(ta[33].couleur ,  "vert");
    ta[33].prix_achat = 12;
    ta[33].prix_a_payer = 6;
    strcpy( ta[33].proprietaire, "");
    ta[33].niveau = 0;
    ta[33].x = 200;
    ta[33].y = 40;

    ta[34].num = 34;
    strcpy(ta[34].nom ,  "Referent Pedagogique");
    strcpy(ta[34].couleur ,  "Referent Pedagogique");
    ta[34].prix_achat = 0;
    ta[34].prix_a_payer = 0;
    strcpy( ta[30].proprietaire, "");
    ta[34].niveau = 0;
    ta[34].x = 200;
    ta[34].y = 435;

    ta[35].num = 35;
    strcpy(ta[35].nom ,  "Grignard");
    strcpy(ta[35].couleur ,  "vert");
    ta[35].prix_achat = 13;
    ta[35].prix_a_payer = 7;
    strcpy( ta[35].proprietaire, "");
    ta[35].niveau = 0;
    ta[35].x = 200;
    ta[35].y = 390;

    ta[36].num = 36;
    strcpy(ta[36].nom ,  "Science de l'ingénieur");
    strcpy(ta[36].couleur ,  "BU");
    ta[36].prix_achat = 5;
    ta[36].prix_a_payer = 5;
    strcpy( ta[36].proprietaire, "");
    ta[36].niveau = 0;
    ta[36].x = 200;
    ta[36].y = 350;

    ta[37].num = 37;
    strcpy(ta[37].nom ,  "MAIL");
    strcpy(ta[37].couleur ,  "MAIL");
    ta[37].prix_achat = 0;
    ta[37].prix_a_payer = 0;
    strcpy( ta[37].proprietaire, "");
    ta[37].niveau = 0;
    ta[37].x = 200;
    ta[37].y = 300;

    ta[38].num = 38;
    strcpy(ta[38].nom ,  "Arianne");
    strcpy(ta[38].couleur ,  "bleu foncé");
    ta[38].prix_achat = 14;
    ta[38].prix_a_payer = 7;
    strcpy( ta[38].proprietaire, "");
    ta[38].niveau = 0;
    ta[38].x = 200;
    ta[38].y = 250;

    ta[39].num = 39;
    strcpy(ta[39].nom ,  "Analyse");
    strcpy(ta[39].couleur ,  "TAXE");
    ta[39].prix_achat = 0;
    ta[39].prix_a_payer = 0;
    strcpy( ta[39].proprietaire, "");
    ta[39].niveau = 0;
    ta[39].x = 200;
    ta[39].y = 210;

    ta[40].num = 40;
    strcpy(ta[40].nom ,  "Nautibus");
    strcpy(ta[40].couleur ,  "bleu foncé");
    ta[40].prix_achat = 15;
    ta[40].prix_a_payer = 8;
    strcpy( ta[40].proprietaire, "");
    ta[40].niveau = 0;
    ta[40].x = 200;
    ta[40].y = 160;

    return ta;
}

void caLibere_case(TABCASE* ca)
{
    int i;
    for (i=1; i<=40; i++)
    {
        free (ca[i]);
    }
}

void caTest_Case()
{
    TABCASE ca;
    int i;
    ca = caCreer_Case();
    printf("Tests du module CASE : \n\n") ;
    /* Début du test de caCreer_Case*/
    printf("Test de caCreer_Case ... \n") ;
    for(i=1; i<=40; i++)
    {
        assert(ca[i].num== i);
        assert(!(strcmp(ca[i].nom, "")));
        assert(!(strcmp(ca[i].couleur, "")));
        if(strcmp(ca[i].nom,ca[i].couleur)==0)
        {
            assert(ca[i].prix_achat==0);
        }
        assert(strcmp(ca[i].proprietaire, "")==0);
        assert(ca[i].niveau == 0);
        assert(ca[i].x != 0);
        assert(ca[i].y != 0);
    }
    assert(i==40);
    caLibere_case(&ca);
    printf("Tests du module CASE terminé \n\n") ;
}
